No. 011 (2024.12.05)
(Markdown 記法ではないので注意 → 記法 を参照すること) 前回
参加者
mrkn
abap34 yuchi yamaguchi.icon
antimon2
(ここに参加した人が自分の名前 / ID を追記していく)
前回からの置き手紙
optimize 関数から読み始める
メモ
convert_to_ircode: Julia内部の SSA形式でのコードの表現. Unreachable かどうかとかはその前ですでに情報があってここで削除などする
optimize.jl#1051Bottom だと typeassert(Bool, expr.cond) に置き換え. 理由があんまりわからない
try/catch が Unreachable なら消す
このとき scope が undefined ならどこかで参照されるかもしれないから特別なマーカをつけて残す.
こういうケースが何かはまだわからない
そもそも isdefined の仕様をあまり理解していなかった yuchi yamaguchi.icon
new で引数不足して undefined な field になっている場合でも isdefined が false になるケースがある😳
このケースで引っかかる
最初に nothing にしたり、適切な置き換えをして、そのあとほんとうに削除や idx の振り直しなどをする
meta の情報を先に処理する. 実はコンパイラのヒント系はこれに内部では置き換えられている macro inline() Expr(:meta, :inline) end
strip_trailing_junk! が本当の本当に削除パートを担当
slot2reg ◀︎ 何をされている方?
次回
slot2reg の正体を調べる
そもそも slot とは?/ reg とは?をちゃんとわかったほうが良さそう
その他